﻿
@{
    ViewBag.Title = "ContentType";
    Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}

<div class="layui-row">
    <div class="layui-col-md1">
        <div style="width:100%;opacity: 0;">
            W
        </div>
    </div>
    <div class="layui-col-md10">
        <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;text-align:center;">
            <legend>文章类别管理</legend>
        </fieldset>
        <button onclick="addType()" class="layui-btn layui-btn"><i class="layui-icon">&#xe608;</i>新增</button>
        <table id="demo" lay-filter="test"></table>
    </div>
    <div class="layui-col-md1">
        <div style="width:100%;opacity: 0;">
            W
        </div>
    </div>
</div>

<script type="text/html" id="barDemo">
    @*<a class="layui-btn layui-btn-xs" lay-event="detail">查看</a>*@
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>

    <!-- 这里同样支持 laytpl 语法，如： -->
    {{#  if(d.auth > 2){ }}
    <a class="layui-btn layui-btn-xs" lay-event="check">审核</a>
    {{#  } }}
</script>
<script>

    var table = layui.table;
    //“方法级渲染”配置方式
    var tableIns = table.render({
        elem: '#demo'
        , height: 315
        , limit: 5 //每页显示数
        , url: '/Admin/Content/ContentTypeList/' //数据接口
        , page: true //开启分页
        , cols: [[ //表头
            { field: 'ct_id', title: 'ID', width: 80, sort: true, fixed: 'left' }
            , { field: 'ct_name', title: '类别名称', width: 180 }
            , { fixed: 'right', title: '操作', width: 150, align: 'center', toolbar: '#barDemo' } //这里的toolbar值是模板元素的选择器
        ]]
        //where: {token: 'sasasas', id: 123} //如果无需传递额外参数，可不加该参数
        //method: 'post' //如果无需自定义HTTP类型，可不加该参数
        , request: {
            pageName: 'pageIndex' //页码的参数名称，默认：page
            , limitName: 'pageSize' //每页数据量的参数名，默认：limit
        }    //如果无需自定义请求参数，可不加该参数
        , response: {

        } //如果无需自定义数据响应名称，可不加该参数
    });
    //监听工具条
    table.on('tool(test)', function (obj) { //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
        var data = obj.data; //获得当前行数据
        var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
        var tr = obj.tr; //获得当前行 tr 的DOM对象

        if (layEvent === 'detail') { //查看
            //do somehing
        } else if (layEvent === 'del') { //删除
            layer.confirm('确定删除吗？', function (index) {
                layer.close(index);
                //向服务端发送删除指令
                if (DelContentType(obj.data.ct_id) === "no") {
                    obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                }
            });
        } else if (layEvent === 'edit') { //编辑
            //do something
            UpdateContentType(obj.data.ct_id, obj.data.ct_name);
            //同步更新缓存对应的值
            //obj.update({
            //    username: '123'
            //    , title: 'xxx'
            //});
        }
    });
    
    function addType() {
        //默认prompt
        layer.prompt({ title: "请输入类型名称" },function (val, index) {
            $.post_str("/Admin/Content/AddContentType", { typeName: val }, function (data) {
                layer.closeAll('loading');
                if (data === "1") {
                    tableIns.reload({
                        page: {
                            curr: 1 //重新从第 1 页开始
                        }
                    });
                    layer.alert("新增成功");
                }
                else
                    layer.alert(data);
            }, function error(data) {
                layer.alert(data);
            });
            layer.close(index);
        });
    }

    function DelContentType(ct_id) {
        $.post_str("/Admin/Content/DelContentType", { id: ct_id}, function (data) {
            if (data === "1") {
                tableIns.reload({
                    page: {
                        curr: 1 //重新从第 1 页开始
                    }
                });
                layer.msg("删除成功");
            }
            else {
                layer.alert(data);
                return 'no';
            }
        }, function error(data) {
            layer.alert(data);
        });
    }

    function UpdateContentType(ct_id, ct_name) {
        layer.prompt({ title: "请输入类型名称",value:ct_name }, function (val, index) {
            $.post_str("/Admin/Content/UpdateContentType", { id: ct_id, name: val }, function (data) {
                if (data === "1") {
                    tableIns.reload({
                        page: {
                            curr: 1 //重新从第 1 页开始
                        }
                    });
                    layer.msg("修改成功");
                }
                else
                    layer.alert(data);
            }, function error(data) {
                layer.alert(data);
            });
            layer.close(index);
        });
    }

</script>
